jQuery(document).ready(function()
{
			jQuery('#layer1').Draggable(
					{
						zIndex: 	20,
						ghosting:	false,
						opacity: 	0.7,
						handle:	'#layer1_handle'
					}
				);	
			jQuery('#layer1_form').ajaxForm({
				target: '#content',
				success: function() 
				{
					jQuery("#layer1").hide();
				}				
			});			
			jQuery("#layer1").hide();
						
			jQuery('#add_role').click(function()
			{
			    var data = Array();
			    jQuery("#id_role option").each(function()
			    {			        
			    	data.push(jQuery(this).val());
			    });				    			    			    
			    
				jQuery("#dialog_id_role").load("/categories/getrolelist", {'a' : data.toString()});				
				jQuery("#layer1").show();
			});
			
			jQuery('#close').click(function()
			{
				jQuery("#layer1").hide();
			});
			
			jQuery('#dialog_add_role').click(function()
			{				
				jQuery.post("/categories/addrole", {'id_res' : jQuery("#id").val(), 'id_role' : jQuery('#dialog_id_role option:selected').val()});
				
				var str = jQuery("#id_role").html();
				str += '<option value="'+jQuery('#dialog_id_role option:selected').val()+'">'+jQuery('#dialog_id_role option:selected').text()+'</option>';				
				jQuery("#id_role").html(str);
				jQuery('#dialog_id_role option:selected').remove();
			});	

			jQuery('#remove_role').click(function()
			{
				if(confirm('Вы действительно хотите удалить это роль?'))
				{
					jQuery.post("/categories/removerole", {'id_res' : jQuery("#id").val(), 'id_role' : jQuery('#id_role option:selected').val()});
					jQuery('#id_role option:selected').remove();
				}
			});	
			
			jQuery('#rules_all_allow').click(function()
			{				
				if(!jQuery('#rules_all_allow').attr('checked'))
				 {
					 jQuery('#rules_list input.allow').attr('checked', '');
				 }
				 else
				 {
					 jQuery('#rules_list input.allow').attr('checked', 'checked');					 
					 jQuery('#rules_list input.deny').attr('checked', '');									 
				 }
				 jQuery('#apply_rule').attr('disabled', '');
			});	
			
			jQuery('#rules_all_deny').click(function()
			{				
				if(!jQuery('#rules_all_deny').attr('checked'))
				 {
					 jQuery('#rules_list input.deny').attr('checked', '');				 	
				 }
				 else
				 {
					 jQuery('#rules_list input.allow').attr('checked', '');					 
					 jQuery('#rules_list input.deny').attr('checked', 'checked');
				 }
				 jQuery('#apply_rule').attr('disabled', '');
			});			
			
			jQuery('#id_role').click(function()
			{				
				jQuery('#rules_loader').show();
				jQuery('#remove_role').attr('disabled', '');
				jQuery('#rules_list input').attr('checked', '');				
				
				jQuery.getJSON("/categories/getrule", {'id_res' : jQuery("#id").val(), 'id_role' : jQuery('#id_role option:selected').val()},
			        function(data){
				         jQuery.each(data, function(i, id){           						         	
				         	 switch(id){
				         	 	case 'rules_all_allow':
				         	 	    jQuery('#rules_list input.allow').attr('checked', 'checked');
				         	 		break;
				         	 	case 'rules_all_deny':
				         	 	    jQuery('#rules_list input.deny').attr('checked', 'checked');
				         	 		break;	
				         	 	default:				         	 	    
				         	 	    jQuery('#'+id).attr('checked', 'checked');
				         	 }
				         });				     
				         jQuery('#rules_loader').hide();    
				         jQuery('#rules').show();
			        });				
			});
			
			jQuery('#rules_list input').click(function()
			{
				var id = jQuery(this).attr('id');
				if(id != 'rules_all_allow' && id != 'rules_all_deny')
				{
					jQuery('#rules_all_allow').attr('checked', ''); 
					jQuery('#rules_all_deny').attr('checked', '');
					
					id_arr = id.split('_');										
					uid = id_arr[0]+'_'+id_arr[1]+'_'+(id_arr[2] == 'allow' ? 'deny' : 'allow');					
					
					if(jQuery(this).attr('checked'))						
						jQuery('#'+uid).attr('checked', '');					
					else					
						jQuery('#'+uid).attr('checked', 'checked');					
				}
				jQuery('#apply_rule').attr('disabled', '');			
			});			

			jQuery('#apply_rule').click(function()
			{
				jQuery('#rules_apply_loader').show();				
								
				var allow = '';
				var deny = '';
				
				jQuery('#rules_list input:checked').each(function(){
					if(jQuery(this).attr('class') == 'allow') allow +=jQuery(this).val()+';';
					else deny +=jQuery(this).val()+';';
				});	
				
				if(jQuery('#rules_all_allow').attr('checked'))	allow = '-1;';
				if(jQuery('#rules_all_deny').attr('checked'))	deny = '-1;';				
				
				jQuery.post("/categories/applyrule", 
					{
						'resource_id' : jQuery("#id").val(),
						'role_id' : jQuery('#id_role option:selected').val(),
						'allow' : allow,
						'deny' : deny
					}, function(){jQuery('#rules_apply_loader').hide();});
			});			
			
});